from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from loguru import logger

from a0base.base_llm import pop_llm

# 1-创建聊天提示模板，包含系统角色设定和用户问题输入
chat_prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个{role}，请简短回答我提出的问题"),
    ("human", "请回答:{question}")
])

# 2-创建字符串输出解析器，用于处理模型输出
parser = StrOutputParser()

# 3-构建处理链：提示模板 -> 模型 -> 输出解析器
llm_chain = chat_prompt | pop_llm | parser

# 4-打印解析后的结构化结果
response = llm_chain.invoke({"role": "AI助手", "question": "什么是LangChain"})
logger.info(f"解析后的结构化结果:\n{response}")

# 打印类型
logger.info(f"结果类型: {type(response)}")
